Personal computers are widely used for scientific applications, business applications, and entertainment. Most personal computers include a positional control device that allows the user to move a graphic object, such as a cursor, on a display screen to control the operation of the computer. Computer mice and trackballs are well-known forms of such positional control devices. Other positional control devices, such as joysticks, are also widely used. Joysticks are particularly common with entertainment software such as computer games. Other types of positional control devices include rudder pedals, game pads, flight yokes, and the like. These devices may be generically referred to as positional control devices.
The positional control devices are typically coupled to a host computer through an I/O port, such as a game port. The game port includes a plurality of analog input lines that form part of a timer circuit. The positional control devices, such as a conventional joystick, include potentiometers whose resistance changes as the user manipulates the positional control device. Thus, the positional control device includes analog resistances that form a complete timing circuit when connected to the game port.
There is a significant drawback to such analog positional control devices. In the case of a conventional joystick, two potentiometers are used to provide orthogonal position sensing using an X-Y coordinate system. The potentiometers typically have a resistance tolerance of at least .+-.10% and also have an angular tolerance of +5.degree. or more. Thus, there is a broad variation in resistance from one joystick to another as well as a significant amount of error in the position sensing for a given joystick.
To compensate for such variations, computer software manufacturers include a calibration routine that is used to calibrate the joystick-game port combination for the particular computer software program. However, the potentiometers within the joystick are also subject to thermal drift, causing position sensing errors even after the joystick, game port combination has been calibrated. The position sensing errors resulting from analog positional control devices present a significant problem.
Another drawback of current positional control devices is that a significant amount of computer processing time is required to determine the position using the variable resistance timing circuit discussed above. The host computer must poll the game port periodically to determine the status of the timers. Thus, the host computer must spend a significant amount of time calculating position based on the timing data from the game port.
Some positional control devices purport to be "digital" positional control devices. These devices are more appropriately designated as binary devices since they typically comprise one or more switches, such as a game pad in which a plurality of switches merely provide a binary input based on whether the switch is "open" or "closed." Thus, these devices may more accurately be designated as binary devices.
Yet another drawback of current position sensing technology is that the game port is strictly an input device. That is, the game port is incapable of communicating with the positional control device and merely accepts the analog inputs that form the timing circuit described above. Some positional control devices include additional circuitry, such as an analog to digital converter, to provide digital position data. However, these devices are incapable of operation with the game port because the game port cannot provide output data or commands to control the additional electrical circuitry. These devices are typically coupled to the host computer through an input/output port, such as a parallel port or a serial port.
Therefore, it can be appreciated that there is a significant need for a system and method for providing reliable position data to a host computer and to provide a means by which the host computer may have bidirectional communication with the positional control device. This, and other advantages, are provided by the present invention as will become apparent from the drawings taken together with the following description.